The traffic flowing into a network device—e.g., a router, switch, bridge, server, and the like—is generally made up of multiple abstraction layers (e.g., the Open Systems Interconnection (OSI) model). Each of these logical layers generally relates to communications functions of a similar nature. For instance, layer 2 of the OSI model is known as the data link layer and uses physical addressing (e.g., Media Access Control (MAC) addresses) for switching traffic. Layer 2 encapsulation generally provides the mechanism for transferring data between network entities, and can also be used for error correction for layer 1. As another example, layer 3 traffic is known as network layer traffic and uses logical addressing (e.g., Internet Protocol (IP) addresses) for routing traffic. Layer 3 encapsulation generally provides the mechanism for transmitting data between a source host on a first network to a destination host located on a second network.
Network devices, such as switches, can be configured with service modules, each of which performs a particular function. For example, one of the service modules could provide load balancing functionality on the network device, while another service module could provide firewall services on the network device. These service modules could execute on an apparatus external to the network device. For instance, a service module could execute on a computing system communicatively coupled to the network device. Additionally, the service modules could be integrated into the network device. For instance, a service module could be implemented as an application-specific integrated circuit (ASIC) on a card that is plugged into a slot on the network device.